1. Field of the Invention
The present invention relates generally to frequency translation. More specifically, the present invention relates to frequency translation in a communication system that can be easily implemented in digital hardware. The present invention further relates to use of frequency translators in numerous applications, including upconverting baseband signals to RF frequencies for transmission through modems, correcting for local oscillator offsets and FSK modulation.
2. Introduction
Frequency translation is required for numerous applications. For example, transmission of a baseband signal through a modem requires that the baseband signal be upconverted to a suitable transmission frequency. For another example, in wireless modem applications, suitable transmission frequencies are in the RF range. RF synthesizers exist to generate such frequencies. However, generally they are tuned to operate at frequencies separated by discrete steps. Due to the difficulty of designing RF synthesizers with small step values without severely degrading performance due to phase noise (i.e., distortion), RF transmitters use large steps between RF frequencies. Thus, it may be difficult to obtain an arbitrary RF frequency using an RF synthesizer.
Another problem with frequency synthesis arises from the use of local oscillators. Local oscillators are often inaccurate. While the amount of inaccuracy can be determined through calibration, tuning the oscillator to compensate for the inaccuracy is challenging. Further, if the oscillator is not properly tuned, the application in which the oscillator is being used may not function properly.
As digital processors become more powerful, functions traditionally performed by analog radio frequency (RF) circuitry are migrating to digital hardware and software. One such function is frequency translation. FIG. 1 is a schematic diagram of a conventional frequency translator. A phase accumulator 102 outputs a phase angle θ. Phase accumulator 102 is stepped by a phase increment Δθ. in an iterative manner. Thus, phase accumulator 102 increments by phase increment Δθ on each iteration. The size of the phase increment Δθ determines the corresponding frequency. Phase angle θ is used as an index into a sin/cos lookup table 104. The output of sin/cos lookup table is a complex value ejθ. The output of sin/cos table 104 provides one input to a complex multiplier. The other input of the complex multiplier is the signal, X, that is to be translated in frequency. The output of the complex multiplier at each iteration k is Yk=ejkΔθ·Xk. Thus, output Y corresponds to input X shifted in frequency by an amount proportional to phase increment Δθ. Phase accumulator 102 and sin/cos table 104 comprise what is commonly referred to as a numerically controlled oscillator (NCO) 107.